<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="referrer" content="no-referrer">
  <style type="text/css">
      /* stylelint-disable font-family-no-missing-generic-family-keyword */
      @font-face {
          font-family: 'KaTeX_AMS';
          src: url(fonts/KaTeX_AMS-Regular.woff2) format('woff2'), url(fonts/KaTeX_AMS-Regular.woff) format('woff'), url(fonts/KaTeX_AMS-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Caligraphic';
          src: url(fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Bold.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');
          font-weight: bold;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Caligraphic';
          src: url(fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Regular.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Fraktur';
          src: url(fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Bold.woff) format('woff'), url(fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');
          font-weight: bold;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Fraktur';
          src: url(fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Regular.woff) format('woff'), url(fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Main';
          src: url(fonts/KaTeX_Main-Bold.woff2) format('woff2'), url(fonts/KaTeX_Main-Bold.woff) format('woff'), url(fonts/KaTeX_Main-Bold.ttf) format('truetype');
          font-weight: bold;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Main';
          src: url(fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Main-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');
          font-weight: bold;
          font-style: italic;
      }

      @font-face {
          font-family: 'KaTeX_Main';
          src: url(fonts/KaTeX_Main-Italic.woff2) format('woff2'), url(fonts/KaTeX_Main-Italic.woff) format('woff'), url(fonts/KaTeX_Main-Italic.ttf) format('truetype');
          font-weight: normal;
          font-style: italic;
      }

      @font-face {
          font-family: 'KaTeX_Main';
          src: url(fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(fonts/KaTeX_Main-Regular.woff) format('woff'), url(fonts/KaTeX_Main-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Math';
          src: url(fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Math-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');
          font-weight: bold;
          font-style: italic;
      }

      @font-face {
          font-family: 'KaTeX_Math';
          src: url(fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(fonts/KaTeX_Math-Italic.woff) format('woff'), url(fonts/KaTeX_Math-Italic.ttf) format('truetype');
          font-weight: normal;
          font-style: italic;
      }

      @font-face {
          font-family: 'KaTeX_SansSerif';
          src: url(fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Bold.woff) format('woff'), url(fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');
          font-weight: bold;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_SansSerif';
          src: url(fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Italic.woff) format('woff'), url(fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');
          font-weight: normal;
          font-style: italic;
      }

      @font-face {
          font-family: 'KaTeX_SansSerif';
          src: url(fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Regular.woff) format('woff'), url(fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Script';
          src: url(fonts/KaTeX_Script-Regular.woff2) format('woff2'), url(fonts/KaTeX_Script-Regular.woff) format('woff'), url(fonts/KaTeX_Script-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Size1';
          src: url(fonts/KaTeX_Size1-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size1-Regular.woff) format('woff'), url(fonts/KaTeX_Size1-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Size2';
          src: url(fonts/KaTeX_Size2-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size2-Regular.woff) format('woff'), url(fonts/KaTeX_Size2-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Size3';
          src: url(fonts/KaTeX_Size3-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size3-Regular.woff) format('woff'), url(fonts/KaTeX_Size3-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Size4';
          src: url(fonts/KaTeX_Size4-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size4-Regular.woff) format('woff'), url(fonts/KaTeX_Size4-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      @font-face {
          font-family: 'KaTeX_Typewriter';
          src: url(fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(fonts/KaTeX_Typewriter-Regular.woff) format('woff'), url(fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');
          font-weight: normal;
          font-style: normal;
      }

      .katex {
          font: normal 1.21em KaTeX_Main, Times New Roman, serif;
          line-height: 1.2;
          text-indent: 0;
          text-rendering: auto;
      }

      .katex * {
          -ms-high-contrast-adjust: none !important;
      }

      .katex * {
          border-color: currentColor;
      }

      .katex .katex-version::after {
          content: "0.16.8";
      }

      .katex .katex-mathml {
          /* Accessibility hack to only show to screen readers
                 Found at: http://a11yproject.com/posts/how-to-hide-content/ */
          position: absolute;
          clip: rect(1px, 1px, 1px, 1px);
          padding: 0;
          border: 0;
          height: 1px;
          width: 1px;
          overflow: hidden;
      }

      .katex .katex-html {
          /* \newline is an empty block at top level, between .base elements */
      }

      .katex .katex-html > .newline {
          display: block;
      }

      .katex .base {
          position: relative;
          display: inline-block;
          white-space: nowrap;
          width: -webkit-min-content;
          width: -moz-min-content;
          width: min-content;
      }

      .katex .strut {
          display: inline-block;
      }

      .katex .textbf {
          font-weight: bold;
      }

      .katex .textit {
          font-style: italic;
      }

      .katex .textrm {
          font-family: KaTeX_Main;
      }

      .katex .textsf {
          font-family: KaTeX_SansSerif;
      }

      .katex .texttt {
          font-family: KaTeX_Typewriter;
      }

      .katex .mathnormal {
          font-family: KaTeX_Math;
          font-style: italic;
      }

      .katex .mathit {
          font-family: KaTeX_Main;
          font-style: italic;
      }

      .katex .mathrm {
          font-style: normal;
      }

      .katex .mathbf {
          font-family: KaTeX_Main;
          font-weight: bold;
      }

      .katex .boldsymbol {
          font-family: KaTeX_Math;
          font-weight: bold;
          font-style: italic;
      }

      .katex .amsrm {
          font-family: KaTeX_AMS;
      }

      .katex .mathbb,
      .katex .textbb {
          font-family: KaTeX_AMS;
      }

      .katex .mathcal {
          font-family: KaTeX_Caligraphic;
      }

      .katex .mathfrak,
      .katex .textfrak {
          font-family: KaTeX_Fraktur;
      }

      .katex .mathtt {
          font-family: KaTeX_Typewriter;
      }

      .katex .mathscr,
      .katex .textscr {
          font-family: KaTeX_Script;
      }

      .katex .mathsf,
      .katex .textsf {
          font-family: KaTeX_SansSerif;
      }

      .katex .mathboldsf,
      .katex .textboldsf {
          font-family: KaTeX_SansSerif;
          font-weight: bold;
      }

      .katex .mathitsf,
      .katex .textitsf {
          font-family: KaTeX_SansSerif;
          font-style: italic;
      }

      .katex .mainrm {
          font-family: KaTeX_Main;
          font-style: normal;
      }

      .katex .vlist-t {
          display: inline-table;
          table-layout: fixed;
          border-collapse: collapse;
      }

      .katex .vlist-r {
          display: table-row;
      }

      .katex .vlist {
          display: table-cell;
          vertical-align: bottom;
          position: relative;
      }

      .katex .vlist > span {
          display: block;
          height: 0;
          position: relative;
      }

      .katex .vlist > span > span {
          display: inline-block;
      }

      .katex .vlist > span > .pstrut {
          overflow: hidden;
          width: 0;
      }

      .katex .vlist-t2 {
          margin-right: -2px;
      }

      .katex .vlist-s {
          display: table-cell;
          vertical-align: bottom;
          font-size: 1px;
          width: 2px;
          min-width: 2px;
      }

      .katex .vbox {
          display: inline-flex;
          flex-direction: column;
          align-items: baseline;
      }

      .katex .hbox {
          display: inline-flex;
          flex-direction: row;
          width: 100%;
      }

      .katex .thinbox {
          display: inline-flex;
          flex-direction: row;
          width: 0;
          max-width: 0;
      }

      .katex .msupsub {
          text-align: left;
      }

      .katex .mfrac > span > span {
          text-align: center;
      }

      .katex .mfrac .frac-line {
          display: inline-block;
          width: 100%;
          border-bottom-style: solid;
      }

      .katex .mfrac .frac-line,
      .katex .overline .overline-line,
      .katex .underline .underline-line,
      .katex .hline,
      .katex .hdashline,
      .katex .rule {
          min-height: 1px;
      }

      .katex .mspace {
          display: inline-block;
      }

      .katex .llap,
      .katex .rlap,
      .katex .clap {
          width: 0;
          position: relative;
      }

      .katex .llap > .inner,
      .katex .rlap > .inner,
      .katex .clap > .inner {
          position: absolute;
      }

      .katex .llap > .fix,
      .katex .rlap > .fix,
      .katex .clap > .fix {
          display: inline-block;
      }

      .katex .llap > .inner {
          right: 0;
      }

      .katex .rlap > .inner,
      .katex .clap > .inner {
          left: 0;
      }

      .katex .clap > .inner > span {
          margin-left: -50%;
          margin-right: 50%;
      }

      .katex .rule {
          display: inline-block;
          border: solid 0;
          position: relative;
      }

      .katex .overline .overline-line,
      .katex .underline .underline-line,
      .katex .hline {
          display: inline-block;
          width: 100%;
          border-bottom-style: solid;
      }

      .katex .hdashline {
          display: inline-block;
          width: 100%;
          border-bottom-style: dashed;
      }

      .katex .sqrt > .root {
          /* These values are taken from the definition of `\r@@t`,
                     `\mkern 5mu` and `\mkern -10mu`. */
          margin-left: 0.27777778em;
          margin-right: -0.55555556em;
      }

      .katex .sizing.reset-size1.size1,
      .katex .fontsize-ensurer.reset-size1.size1 {
          font-size: 1em;
      }

      .katex .sizing.reset-size1.size2,
      .katex .fontsize-ensurer.reset-size1.size2 {
          font-size: 1.2em;
      }

      .katex .sizing.reset-size1.size3,
      .katex .fontsize-ensurer.reset-size1.size3 {
          font-size: 1.4em;
      }

      .katex .sizing.reset-size1.size4,
      .katex .fontsize-ensurer.reset-size1.size4 {
          font-size: 1.6em;
      }

      .katex .sizing.reset-size1.size5,
      .katex .fontsize-ensurer.reset-size1.size5 {
          font-size: 1.8em;
      }

      .katex .sizing.reset-size1.size6,
      .katex .fontsize-ensurer.reset-size1.size6 {
          font-size: 2em;
      }

      .katex .sizing.reset-size1.size7,
      .katex .fontsize-ensurer.reset-size1.size7 {
          font-size: 2.4em;
      }

      .katex .sizing.reset-size1.size8,
      .katex .fontsize-ensurer.reset-size1.size8 {
          font-size: 2.88em;
      }

      .katex .sizing.reset-size1.size9,
      .katex .fontsize-ensurer.reset-size1.size9 {
          font-size: 3.456em;
      }

      .katex .sizing.reset-size1.size10,
      .katex .fontsize-ensurer.reset-size1.size10 {
          font-size: 4.148em;
      }

      .katex .sizing.reset-size1.size11,
      .katex .fontsize-ensurer.reset-size1.size11 {
          font-size: 4.976em;
      }

      .katex .sizing.reset-size2.size1,
      .katex .fontsize-ensurer.reset-size2.size1 {
          font-size: 0.83333333em;
      }

      .katex .sizing.reset-size2.size2,
      .katex .fontsize-ensurer.reset-size2.size2 {
          font-size: 1em;
      }

      .katex .sizing.reset-size2.size3,
      .katex .fontsize-ensurer.reset-size2.size3 {
          font-size: 1.16666667em;
      }

      .katex .sizing.reset-size2.size4,
      .katex .fontsize-ensurer.reset-size2.size4 {
          font-size: 1.33333333em;
      }

      .katex .sizing.reset-size2.size5,
      .katex .fontsize-ensurer.reset-size2.size5 {
          font-size: 1.5em;
      }

      .katex .sizing.reset-size2.size6,
      .katex .fontsize-ensurer.reset-size2.size6 {
          font-size: 1.66666667em;
      }

      .katex .sizing.reset-size2.size7,
      .katex .fontsize-ensurer.reset-size2.size7 {
          font-size: 2em;
      }

      .katex .sizing.reset-size2.size8,
      .katex .fontsize-ensurer.reset-size2.size8 {
          font-size: 2.4em;
      }

      .katex .sizing.reset-size2.size9,
      .katex .fontsize-ensurer.reset-size2.size9 {
          font-size: 2.88em;
      }

      .katex .sizing.reset-size2.size10,
      .katex .fontsize-ensurer.reset-size2.size10 {
          font-size: 3.45666667em;
      }

      .katex .sizing.reset-size2.size11,
      .katex .fontsize-ensurer.reset-size2.size11 {
          font-size: 4.14666667em;
      }

      .katex .sizing.reset-size3.size1,
      .katex .fontsize-ensurer.reset-size3.size1 {
          font-size: 0.71428571em;
      }

      .katex .sizing.reset-size3.size2,
      .katex .fontsize-ensurer.reset-size3.size2 {
          font-size: 0.85714286em;
      }

      .katex .sizing.reset-size3.size3,
      .katex .fontsize-ensurer.reset-size3.size3 {
          font-size: 1em;
      }

      .katex .sizing.reset-size3.size4,
      .katex .fontsize-ensurer.reset-size3.size4 {
          font-size: 1.14285714em;
      }

      .katex .sizing.reset-size3.size5,
      .katex .fontsize-ensurer.reset-size3.size5 {
          font-size: 1.28571429em;
      }

      .katex .sizing.reset-size3.size6,
      .katex .fontsize-ensurer.reset-size3.size6 {
          font-size: 1.42857143em;
      }

      .katex .sizing.reset-size3.size7,
      .katex .fontsize-ensurer.reset-size3.size7 {
          font-size: 1.71428571em;
      }

      .katex .sizing.reset-size3.size8,
      .katex .fontsize-ensurer.reset-size3.size8 {
          font-size: 2.05714286em;
      }

      .katex .sizing.reset-size3.size9,
      .katex .fontsize-ensurer.reset-size3.size9 {
          font-size: 2.46857143em;
      }

      .katex .sizing.reset-size3.size10,
      .katex .fontsize-ensurer.reset-size3.size10 {
          font-size: 2.96285714em;
      }

      .katex .sizing.reset-size3.size11,
      .katex .fontsize-ensurer.reset-size3.size11 {
          font-size: 3.55428571em;
      }

      .katex .sizing.reset-size4.size1,
      .katex .fontsize-ensurer.reset-size4.size1 {
          font-size: 0.625em;
      }

      .katex .sizing.reset-size4.size2,
      .katex .fontsize-ensurer.reset-size4.size2 {
          font-size: 0.75em;
      }

      .katex .sizing.reset-size4.size3,
      .katex .fontsize-ensurer.reset-size4.size3 {
          font-size: 0.875em;
      }

      .katex .sizing.reset-size4.size4,
      .katex .fontsize-ensurer.reset-size4.size4 {
          font-size: 1em;
      }

      .katex .sizing.reset-size4.size5,
      .katex .fontsize-ensurer.reset-size4.size5 {
          font-size: 1.125em;
      }

      .katex .sizing.reset-size4.size6,
      .katex .fontsize-ensurer.reset-size4.size6 {
          font-size: 1.25em;
      }

      .katex .sizing.reset-size4.size7,
      .katex .fontsize-ensurer.reset-size4.size7 {
          font-size: 1.5em;
      }

      .katex .sizing.reset-size4.size8,
      .katex .fontsize-ensurer.reset-size4.size8 {
          font-size: 1.8em;
      }

      .katex .sizing.reset-size4.size9,
      .katex .fontsize-ensurer.reset-size4.size9 {
          font-size: 2.16em;
      }

      .katex .sizing.reset-size4.size10,
      .katex .fontsize-ensurer.reset-size4.size10 {
          font-size: 2.5925em;
      }

      .katex .sizing.reset-size4.size11,
      .katex .fontsize-ensurer.reset-size4.size11 {
          font-size: 3.11em;
      }

      .katex .sizing.reset-size5.size1,
      .katex .fontsize-ensurer.reset-size5.size1 {
          font-size: 0.55555556em;
      }

      .katex .sizing.reset-size5.size2,
      .katex .fontsize-ensurer.reset-size5.size2 {
          font-size: 0.66666667em;
      }

      .katex .sizing.reset-size5.size3,
      .katex .fontsize-ensurer.reset-size5.size3 {
          font-size: 0.77777778em;
      }

      .katex .sizing.reset-size5.size4,
      .katex .fontsize-ensurer.reset-size5.size4 {
          font-size: 0.88888889em;
      }

      .katex .sizing.reset-size5.size5,
      .katex .fontsize-ensurer.reset-size5.size5 {
          font-size: 1em;
      }

      .katex .sizing.reset-size5.size6,
      .katex .fontsize-ensurer.reset-size5.size6 {
          font-size: 1.11111111em;
      }

      .katex .sizing.reset-size5.size7,
      .katex .fontsize-ensurer.reset-size5.size7 {
          font-size: 1.33333333em;
      }

      .katex .sizing.reset-size5.size8,
      .katex .fontsize-ensurer.reset-size5.size8 {
          font-size: 1.6em;
      }

      .katex .sizing.reset-size5.size9,
      .katex .fontsize-ensurer.reset-size5.size9 {
          font-size: 1.92em;
      }

      .katex .sizing.reset-size5.size10,
      .katex .fontsize-ensurer.reset-size5.size10 {
          font-size: 2.30444444em;
      }

      .katex .sizing.reset-size5.size11,
      .katex .fontsize-ensurer.reset-size5.size11 {
          font-size: 2.76444444em;
      }

      .katex .sizing.reset-size6.size1,
      .katex .fontsize-ensurer.reset-size6.size1 {
          font-size: 0.5em;
      }

      .katex .sizing.reset-size6.size2,
      .katex .fontsize-ensurer.reset-size6.size2 {
          font-size: 0.6em;
      }

      .katex .sizing.reset-size6.size3,
      .katex .fontsize-ensurer.reset-size6.size3 {
          font-size: 0.7em;
      }

      .katex .sizing.reset-size6.size4,
      .katex .fontsize-ensurer.reset-size6.size4 {
          font-size: 0.8em;
      }

      .katex .sizing.reset-size6.size5,
      .katex .fontsize-ensurer.reset-size6.size5 {
          font-size: 0.9em;
      }

      .katex .sizing.reset-size6.size6,
      .katex .fontsize-ensurer.reset-size6.size6 {
          font-size: 1em;
      }

      .katex .sizing.reset-size6.size7,
      .katex .fontsize-ensurer.reset-size6.size7 {
          font-size: 1.2em;
      }

      .katex .sizing.reset-size6.size8,
      .katex .fontsize-ensurer.reset-size6.size8 {
          font-size: 1.44em;
      }

      .katex .sizing.reset-size6.size9,
      .katex .fontsize-ensurer.reset-size6.size9 {
          font-size: 1.728em;
      }

      .katex .sizing.reset-size6.size10,
      .katex .fontsize-ensurer.reset-size6.size10 {
          font-size: 2.074em;
      }

      .katex .sizing.reset-size6.size11,
      .katex .fontsize-ensurer.reset-size6.size11 {
          font-size: 2.488em;
      }

      .katex .sizing.reset-size7.size1,
      .katex .fontsize-ensurer.reset-size7.size1 {
          font-size: 0.41666667em;
      }

      .katex .sizing.reset-size7.size2,
      .katex .fontsize-ensurer.reset-size7.size2 {
          font-size: 0.5em;
      }

      .katex .sizing.reset-size7.size3,
      .katex .fontsize-ensurer.reset-size7.size3 {
          font-size: 0.58333333em;
      }

      .katex .sizing.reset-size7.size4,
      .katex .fontsize-ensurer.reset-size7.size4 {
          font-size: 0.66666667em;
      }

      .katex .sizing.reset-size7.size5,
      .katex .fontsize-ensurer.reset-size7.size5 {
          font-size: 0.75em;
      }

      .katex .sizing.reset-size7.size6,
      .katex .fontsize-ensurer.reset-size7.size6 {
          font-size: 0.83333333em;
      }

      .katex .sizing.reset-size7.size7,
      .katex .fontsize-ensurer.reset-size7.size7 {
          font-size: 1em;
      }

      .katex .sizing.reset-size7.size8,
      .katex .fontsize-ensurer.reset-size7.size8 {
          font-size: 1.2em;
      }

      .katex .sizing.reset-size7.size9,
      .katex .fontsize-ensurer.reset-size7.size9 {
          font-size: 1.44em;
      }

      .katex .sizing.reset-size7.size10,
      .katex .fontsize-ensurer.reset-size7.size10 {
          font-size: 1.72833333em;
      }

      .katex .sizing.reset-size7.size11,
      .katex .fontsize-ensurer.reset-size7.size11 {
          font-size: 2.07333333em;
      }

      .katex .sizing.reset-size8.size1,
      .katex .fontsize-ensurer.reset-size8.size1 {
          font-size: 0.34722222em;
      }

      .katex .sizing.reset-size8.size2,
      .katex .fontsize-ensurer.reset-size8.size2 {
          font-size: 0.41666667em;
      }

      .katex .sizing.reset-size8.size3,
      .katex .fontsize-ensurer.reset-size8.size3 {
          font-size: 0.48611111em;
      }

      .katex .sizing.reset-size8.size4,
      .katex .fontsize-ensurer.reset-size8.size4 {
          font-size: 0.55555556em;
      }

      .katex .sizing.reset-size8.size5,
      .katex .fontsize-ensurer.reset-size8.size5 {
          font-size: 0.625em;
      }

      .katex .sizing.reset-size8.size6,
      .katex .fontsize-ensurer.reset-size8.size6 {
          font-size: 0.69444444em;
      }

      .katex .sizing.reset-size8.size7,
      .katex .fontsize-ensurer.reset-size8.size7 {
          font-size: 0.83333333em;
      }

      .katex .sizing.reset-size8.size8,
      .katex .fontsize-ensurer.reset-size8.size8 {
          font-size: 1em;
      }

      .katex .sizing.reset-size8.size9,
      .katex .fontsize-ensurer.reset-size8.size9 {
          font-size: 1.2em;
      }

      .katex .sizing.reset-size8.size10,
      .katex .fontsize-ensurer.reset-size8.size10 {
          font-size: 1.44027778em;
      }

      .katex .sizing.reset-size8.size11,
      .katex .fontsize-ensurer.reset-size8.size11 {
          font-size: 1.72777778em;
      }

      .katex .sizing.reset-size9.size1,
      .katex .fontsize-ensurer.reset-size9.size1 {
          font-size: 0.28935185em;
      }

      .katex .sizing.reset-size9.size2,
      .katex .fontsize-ensurer.reset-size9.size2 {
          font-size: 0.34722222em;
      }

      .katex .sizing.reset-size9.size3,
      .katex .fontsize-ensurer.reset-size9.size3 {
          font-size: 0.40509259em;
      }

      .katex .sizing.reset-size9.size4,
      .katex .fontsize-ensurer.reset-size9.size4 {
          font-size: 0.46296296em;
      }

      .katex .sizing.reset-size9.size5,
      .katex .fontsize-ensurer.reset-size9.size5 {
          font-size: 0.52083333em;
      }

      .katex .sizing.reset-size9.size6,
      .katex .fontsize-ensurer.reset-size9.size6 {
          font-size: 0.5787037em;
      }

      .katex .sizing.reset-size9.size7,
      .katex .fontsize-ensurer.reset-size9.size7 {
          font-size: 0.69444444em;
      }

      .katex .sizing.reset-size9.size8,
      .katex .fontsize-ensurer.reset-size9.size8 {
          font-size: 0.83333333em;
      }

      .katex .sizing.reset-size9.size9,
      .katex .fontsize-ensurer.reset-size9.size9 {
          font-size: 1em;
      }

      .katex .sizing.reset-size9.size10,
      .katex .fontsize-ensurer.reset-size9.size10 {
          font-size: 1.20023148em;
      }

      .katex .sizing.reset-size9.size11,
      .katex .fontsize-ensurer.reset-size9.size11 {
          font-size: 1.43981481em;
      }

      .katex .sizing.reset-size10.size1,
      .katex .fontsize-ensurer.reset-size10.size1 {
          font-size: 0.24108004em;
      }

      .katex .sizing.reset-size10.size2,
      .katex .fontsize-ensurer.reset-size10.size2 {
          font-size: 0.28929605em;
      }

      .katex .sizing.reset-size10.size3,
      .katex .fontsize-ensurer.reset-size10.size3 {
          font-size: 0.33751205em;
      }

      .katex .sizing.reset-size10.size4,
      .katex .fontsize-ensurer.reset-size10.size4 {
          font-size: 0.38572806em;
      }

      .katex .sizing.reset-size10.size5,
      .katex .fontsize-ensurer.reset-size10.size5 {
          font-size: 0.43394407em;
      }

      .katex .sizing.reset-size10.size6,
      .katex .fontsize-ensurer.reset-size10.size6 {
          font-size: 0.48216008em;
      }

      .katex .sizing.reset-size10.size7,
      .katex .fontsize-ensurer.reset-size10.size7 {
          font-size: 0.57859209em;
      }

      .katex .sizing.reset-size10.size8,
      .katex .fontsize-ensurer.reset-size10.size8 {
          font-size: 0.69431051em;
      }

      .katex .sizing.reset-size10.size9,
      .katex .fontsize-ensurer.reset-size10.size9 {
          font-size: 0.83317261em;
      }

      .katex .sizing.reset-size10.size10,
      .katex .fontsize-ensurer.reset-size10.size10 {
          font-size: 1em;
      }

      .katex .sizing.reset-size10.size11,
      .katex .fontsize-ensurer.reset-size10.size11 {
          font-size: 1.19961427em;
      }

      .katex .sizing.reset-size11.size1,
      .katex .fontsize-ensurer.reset-size11.size1 {
          font-size: 0.20096463em;
      }

      .katex .sizing.reset-size11.size2,
      .katex .fontsize-ensurer.reset-size11.size2 {
          font-size: 0.24115756em;
      }

      .katex .sizing.reset-size11.size3,
      .katex .fontsize-ensurer.reset-size11.size3 {
          font-size: 0.28135048em;
      }

      .katex .sizing.reset-size11.size4,
      .katex .fontsize-ensurer.reset-size11.size4 {
          font-size: 0.32154341em;
      }

      .katex .sizing.reset-size11.size5,
      .katex .fontsize-ensurer.reset-size11.size5 {
          font-size: 0.36173633em;
      }

      .katex .sizing.reset-size11.size6,
      .katex .fontsize-ensurer.reset-size11.size6 {
          font-size: 0.40192926em;
      }

      .katex .sizing.reset-size11.size7,
      .katex .fontsize-ensurer.reset-size11.size7 {
          font-size: 0.48231511em;
      }

      .katex .sizing.reset-size11.size8,
      .katex .fontsize-ensurer.reset-size11.size8 {
          font-size: 0.57877814em;
      }

      .katex .sizing.reset-size11.size9,
      .katex .fontsize-ensurer.reset-size11.size9 {
          font-size: 0.69453376em;
      }

      .katex .sizing.reset-size11.size10,
      .katex .fontsize-ensurer.reset-size11.size10 {
          font-size: 0.83360129em;
      }

      .katex .sizing.reset-size11.size11,
      .katex .fontsize-ensurer.reset-size11.size11 {
          font-size: 1em;
      }

      .katex .delimsizing.size1 {
          font-family: KaTeX_Size1;
      }

      .katex .delimsizing.size2 {
          font-family: KaTeX_Size2;
      }

      .katex .delimsizing.size3 {
          font-family: KaTeX_Size3;
      }

      .katex .delimsizing.size4 {
          font-family: KaTeX_Size4;
      }

      .katex .delimsizing.mult .delim-size1 > span {
          font-family: KaTeX_Size1;
      }

      .katex .delimsizing.mult .delim-size4 > span {
          font-family: KaTeX_Size4;
      }

      .katex .nulldelimiter {
          display: inline-block;
          width: 0.12em;
      }

      .katex .delimcenter {
          position: relative;
      }

      .katex .op-symbol {
          position: relative;
      }

      .katex .op-symbol.small-op {
          font-family: KaTeX_Size1;
      }

      .katex .op-symbol.large-op {
          font-family: KaTeX_Size2;
      }

      .katex .op-limits > .vlist-t {
          text-align: center;
      }

      .katex .accent > .vlist-t {
          text-align: center;
      }

      .katex .accent .accent-body {
          position: relative;
      }

      .katex .accent .accent-body:not(.accent-full) {
          width: 0;
      }

      .katex .overlay {
          display: block;
      }

      .katex .mtable .vertical-separator {
          display: inline-block;
          min-width: 1px;
      }

      .katex .mtable .arraycolsep {
          display: inline-block;
      }

      .katex .mtable .col-align-c > .vlist-t {
          text-align: center;
      }

      .katex .mtable .col-align-l > .vlist-t {
          text-align: left;
      }

      .katex .mtable .col-align-r > .vlist-t {
          text-align: right;
      }

      .katex .svg-align {
          text-align: left;
      }

      .katex svg {
          display: block;
          position: absolute;
          width: 100%;
          height: inherit;
          fill: currentColor;
          stroke: currentColor;
          fill-rule: nonzero;
          fill-opacity: 1;
          stroke-width: 1;
          stroke-linecap: butt;
          stroke-linejoin: miter;
          stroke-miterlimit: 4;
          stroke-dasharray: none;
          stroke-dashoffset: 0;
          stroke-opacity: 1;
      }

      .katex svg path {
          stroke: none;
      }

      .katex img {
          border-style: none;
          min-width: 0;
          min-height: 0;
          max-width: none;
          max-height: none;
      }

      .katex .stretchy {
          width: 100%;
          display: block;
          position: relative;
          overflow: hidden;
      }

      .katex .stretchy::before,
      .katex .stretchy::after {
          content: "";
      }

      .katex .hide-tail {
          width: 100%;
          position: relative;
          overflow: hidden;
      }

      .katex .halfarrow-left {
          position: absolute;
          left: 0;
          width: 50.2%;
          overflow: hidden;
      }

      .katex .halfarrow-right {
          position: absolute;
          right: 0;
          width: 50.2%;
          overflow: hidden;
      }

      .katex .brace-left {
          position: absolute;
          left: 0;
          width: 25.1%;
          overflow: hidden;
      }

      .katex .brace-center {
          position: absolute;
          left: 25%;
          width: 50%;
          overflow: hidden;
      }

      .katex .brace-right {
          position: absolute;
          right: 0;
          width: 25.1%;
          overflow: hidden;
      }

      .katex .x-arrow-pad {
          padding: 0 0.5em;
      }

      .katex .cd-arrow-pad {
          padding: 0 0.55556em 0 0.27778em;
      }

      .katex .x-arrow,
      .katex .mover,
      .katex .munder {
          text-align: center;
      }

      .katex .boxpad {
          padding: 0 0.3em;
      }

      .katex .fbox,
      .katex .fcolorbox {
          box-sizing: border-box;
          border: 0.04em solid;
      }

      .katex .cancel-pad {
          padding: 0 0.2em;
      }

      .katex .cancel-lap {
          margin-left: -0.2em;
          margin-right: -0.2em;
      }

      .katex .sout {
          border-bottom-style: solid;
          border-bottom-width: 0.08em;
      }

      .katex .angl {
          box-sizing: border-box;
          border-top: 0.049em solid;
          border-right: 0.049em solid;
          margin-right: 0.03889em;
      }

      .katex .anglpad {
          padding: 0 0.03889em;
      }

      .katex .eqn-num::before {
          counter-increment: katexEqnNo;
          content: "(" counter(katexEqnNo) ")";
      }

      .katex .mml-eqn-num::before {
          counter-increment: mmlEqnNo;
          content: "(" counter(mmlEqnNo) ")";
      }

      .katex .mtr-glue {
          width: 50%;
      }

      .katex .cd-vert-arrow {
          display: inline-block;
          position: relative;
      }

      .katex .cd-label-left {
          display: inline-block;
          position: absolute;
          right: calc(50% + 0.3em);
          text-align: left;
      }

      .katex .cd-label-right {
          display: inline-block;
          position: absolute;
          left: calc(50% + 0.3em);
          text-align: right;
      }

      .katex-display {
          display: block;
          margin: 1em 0;
          text-align: center;
      }

      .katex-display > .katex {
          display: block;
          text-align: center;
          white-space: nowrap;
      }

      .katex-display > .katex > .katex-html {
          display: block;
          position: relative;
      }

      .katex-display > .katex > .katex-html > .tag {
          position: absolute;
          right: 0;
      }

      .katex-display.leqno > .katex > .katex-html > .tag {
          left: 0;
          right: auto;
      }

      .katex-display.fleqn > .katex {
          text-align: left;
          padding-left: 2em;
      }

      body {
          counter-reset: katexEqnNo mmlEqnNo;
      }


  </style><!--blossom export style-->
  <style>
      html,
      body {
          width: 100%;
          height: 100%;
          padding: 0;
          margin: 0
      }

      .header {
          width: 100%;
          height: 30px;
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          align-items: center;
          padding: 0 20px;
          font-size: 12px;
          color: #c5c5c5;
          border-bottom: 1px solid #eaeaea;
          text-align: right;
          position: fixed;
          z-index: 999;
          background-color: #fff;
      }

      .header .copyright {
          color: #c5c5c5;
      }

      .header a {
          display: flex;
          flex-direction: row
      }

      .header a span {
          padding-right: 10px
      }

      .content {
          width: 100%;
          height: calc(100% - 30px);
          font-size: 15px;
          display: flex;
          flex-direction: row;
          justify-content: flex-start;
          align-items: flex-start;
      }

      .content .main {
          height: 100%;
          width: calc(100% - 300px);
          padding: 20px;
          overflow-x: hidden;
          overflow-y: scroll;
          margin-top: 30px;
      }

      .toc {
          height: 100%;
          width: 300px;
          padding-left: 10px;
          padding-bottom: 10px;
          border-left: 1px solid #eeeeee;
          overflow-x: hidden;
          overflow-y: scroll;
          margin-top: 30px;
      }

      .toc > h1,
      .toc > h2,
      .toc > h3,
      .toc > h4,
      .toc > h5,
      .toc > h6 {
          margin-top: 0;
          margin-bottom: 0;
          line-height: 27px;
          font-size: 15px;
          font-weight: 300;
          cursor: pointer;
          color: #727272;
          position: relative;
      }

      .toc > h1::after,
      .toc > h2::after,
      .toc > h3::after,
      .toc > h4::after,
      .toc > h5::after,
      .toc > h6::after {
          content: "";
          position: absolute;
          top: 20%;
          left: -5px;
          width: 2px;
          height: 60%;
          background: var(--bl-color-primary);
          border-radius: 10px;
          opacity: 0;
          transition: opacity 0.1s;
      }

      .toc > h1:hover,
      .toc > h2:hover,
      .toc > h3:hover,
      .toc > h4:hover,
      .toc > h5:hover,
      .toc > h6:hover {
          color: var(--bl-color-primary);
      }

      .toc > h1:hover::after,
      .toc > h2:hover::after,
      .toc > h3:hover::after,
      .toc > h4:hover::after,
      .toc > h5:hover::after,
      .toc > h6:hover::after {
          opacity: 1;
      }

      .toc-h2 {
          margin-left: 10px;
      }

      .toc-h3 {
          margin-left: 20px;
      }

      .toc-h4 {
          margin-left: 30px;
      }

      .toc-h5 {
          margin-left: 40px;
      }

      .toc-h6 {
          margin-left: 50px;
      }
  </style>
  <!--blossom styles-->
  <style type="text/css">
      :root {
          --bl-color-primary: rgb(104, 104, 104);
          --bl-editor-color: #707070;
          --bl-editor-bg-color: #FFFFFF;
          --bl-editor-gutters-bg-color: #f5f5f5;
          --bl-editor-gutters-border-color: #DDDDDD00;
          --bl-editor-active-line-gutter-bg-color: #d6d6d67f;
          --bl-editor-active-line-gutter-color: #000000;
          --bl-editor-selection-bg-color: #adc5f4a0;
          --bl-editor-selection-match-bg-color: #89991154;
          --bl-editor-caret-color: #000000;
          --bl-editor-cc-color: #219;
          --bl-editor-cm-color: #b6b6b6;
          --bl-editor-cb-color: #ce5d00;
          --bl-editor-cd-color: #689757;
          --bl-editor-ce-color: #47ade5;
          --bl-editor-ci-color: #ba7300;
          --bl-editor-cg-color: #9876aa;
          --bl-editor-c5-color: #7843E9;
          --bl-editor-c7-color: #7843E9;
          --bl-editor-c7-bg-color: #00000000;
          --bl-preview-color: #2b2b2b;
          --bl-preview-bg-color: #FFFFFF;
          --bl-preview-border-radius: 4px;
          --bl-preview-toc-border-color: #e0e0e0;
          --bl-preview-h1-bg-color: #eaeaea;
          --bl-preview-h1-box-shadow: 3px 3px 5px 1px #a8a8a8;
          --bl-preview-h1-text-shadow: 3px 3px 3px rgb(148, 148, 148);
          --bl-preview-table-border-color: #939393;
          --bl-preview-table-thead-bg-color: #2b2b2b;
          --bl-preview-blockquote-color: #7d7d7d;
          --bl-preview-blockquote-bg-color: #f0f0f0;
          --bl-preview-blockquote-border-color: #bebebe;
          --bl-preview-blockquote-bg-green: #edf8db;
          --bl-preview-blockquote-border-green: #bed609;
          --bl-preview-blockquote-bg-yellow: #faf0d5;
          --bl-preview-blockquote-border-yellow: #efc75e;
          --bl-preview-blockquote-bg-red: #fbe6e9;
          --bl-preview-blockquote-border-red: #ff9090;
          --bl-preview-blockquote-bg-blue: #dfeefd;
          --bl-preview-blockquote-border-blue: #81bbf8;
          --bl-preview-blockquote-bg-purple: #ece4fb;
          --bl-preview-blockquote-border-purple: #ba9bf2;
          --bl-preview-blockquote-bg-black: rgba(0, 0, 0, 0.7);
          --bl-preview-blockquote-border-black: #000000;
          --bl-preview-img-box-shadow: 2px 2px 10px 3px #c6c6c6;
          --bl-preview-img-filter: brightness(100%);
          --bl-preview-code-bg-color: #eaeaea;
          --bl-preview-pre-bg-color: #2b2b2b;
          --bl-preview-pre-box-shadow: 2px 2px 8px #000;
      }

      html.dark {
          --bl-editor-color: #acacac;
          --bl-editor-bg-color: #1e1e1e;
          --bl-editor-gutters-bg-color: #2d2d2d;
          --bl-editor-gutters-border-color: #42434200;
          --bl-editor-active-line-gutter-bg-color: #4747477a;
          --bl-editor-selection-bg-color: #203c74a0;
          --bl-editor-selection-match-bg-color: #89991171;
          --bl-editor-caret-color: #afafaf;
          --bl-editor-cc-color: #606366;
          --bl-editor-cm-color: #606366;
          --bl-editor-cb-color: #cc7832;
          --bl-editor-cd-color: #689757;
          --bl-editor-ce-color: #69864b;
          --bl-editor-ci-color: #ffc66d;
          --bl-editor-cg-color: #9876aa;
          --bl-editor-c5-color: #6b7711;
          --bl-editor-c7-color: #6b7711;
          --bl-editor-c7-bg-color: #00000000;
          --bl-preview-color: #9d9d9d;
          --bl-preview-bg-color: #1e1e1e;
          --bl-preview-border-radius: 4px;
          --bl-preview-toc-border-color: #525252;
          --bl-preview-h1-bg-color: #545454;
          --bl-preview-h1-box-shadow: 3px 3px 5px 1px #000000;
          --bl-preview-h1-text-shadow: 3px 3px 3px #000000;
          --bl-preview-table-border-color: #525252;
          --bl-preview-table-thead-bg-color: #454545;
          --bl-preview-blockquote-color: #b9b9b9;
          --bl-preview-blockquote-bg-color: #3a3a3a;
          --bl-preview-blockquote-border-color: #6e6e6e;
          --bl-preview-blockquote-bg-green: #385b00;
          --bl-preview-blockquote-border-green: #7c8c00;
          --bl-preview-blockquote-bg-yellow: #644900;
          --bl-preview-blockquote-border-yellow: #956b00;
          --bl-preview-blockquote-bg-red: #4f000c;
          --bl-preview-blockquote-border-red: #9a0000;
          --bl-preview-blockquote-bg-blue: #00366c;
          --bl-preview-blockquote-border-blue: #004fa3;
          --bl-preview-blockquote-bg-purple: #240065;
          --bl-preview-blockquote-border-purple: #4600c8;
          --bl-preview-blockquote-bg-black: #181818;
          --bl-preview-blockquote-border-black: #000000;
          --bl-preview-img-box-shadow: 2px 2px 10px 3px #000000;
          --bl-preview-img-filter: brightness(80%);
          --bl-preview-code-bg-color: #414141;
          --bl-preview-pre-bg-color: #131313;
          --bl-preview-pre-box-shadow: inset 0 0 5px 3px #000;
      }

      * {
          box-sizing: border-box;
      }

      ::-webkit-scrollbar {
          width: 7px;
          height: 7px;
      }

      ::-webkit-scrollbar:hover {
          width: 7px;
          height: 7px;
      }

      ::-webkit-scrollbar-thumb {
          border-radius: 3px;
          background-color: #cdcdcd;
          transition: 0.3s;
      }

      ::-webkit-scrollbar-thumb:hover {
          background-color: #ababab;
      }

      ::-webkit-scrollbar-corner {
          background: transparent;
      }

      img {
          pointer-events: none;
      }

      .bl-preview {
          color: var(--bl-preview-color);
          background-color: var(--bl-preview-bg-color);
          line-height: 23px;
          font-family: 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
          position: relative;
      }

      .bl-preview * {
          user-select: text;
      }

      .bl-preview a {
          color: var(--bl-color-primary);
          font-weight: bold;
      }

      .bl-preview a .inner-link {
          border-bottom: 2px dashed #858585;
          box-sizing: border-box;
          padding: 0 4px;
          text-decoration: none;
      }

      .bl-preview img {
          border-radius: var(--bl-preview-border-radius);
          max-width: 100%;
          filter: var(--bl-preview-img-filter);
      }

      .bl-preview h1 {
          margin-top: 70px;
          padding: 10px 0;
          border-bottom: 3px solid var(--bl-preview-h1-bg-color);
          text-align: left;
          position: relative;
          font-size: 30px !important;
          line-height: 35px;
      }

      .bl-preview h1:first-child {
          margin-top: 0px;
      }

      .bl-preview h2 {
          font-size: 25px !important;
          line-height: 30px;
      }

      .bl-preview h3 {
          font-size: 22px !important;
          line-height: 27px;
      }

      .bl-preview h4 {
          font-size: 19px !important;
      }

      .bl-preview h5,
      h6 {
          font-size: 16px !important;
      }

      .bl-preview li::marker {
          color: #989898;
      }

      /* 有序列表 */
      .bl-preview ol {
          padding-left: 2em;
          font-size: inherit;
          font-family: inherit;
      }

      /* 无序列表 */
      .bl-preview ul {
          padding-left: 2em;
      }

      /* checkbox */
      .bl-preview li input {
          margin: 0 0 0 -1.4em;
      }

      .bl-preview li:has(> input)::marker {
          content: none;
      }

      .bl-preview li:has(> p > input)::marker {
          content: none;
      }

      .bl-preview hr {
          border-color: #f4f4f4;
      }

      .bl-preview table {
          border: 1px solid var(--bl-preview-table-border-color);
          box-sizing: border-box;
          padding: 0;
          border-spacing: 0;
          margin: 10px 0;
          max-width: 100%;
          table-layout: auto;
          width: 100%;
      }

      .bl-preview table thead {
          background-color: var(--bl-preview-table-thead-bg-color);
          color: #d4d4d4;
      }

      .bl-preview table thead code {
          background-color: #000000;
      }

      .bl-preview table thead tr {
      }

      .bl-preview table thead tr th {
          font-size: 16px !important;
          padding: 10px;
          border-right: 1px solid var(--bl-preview-table-border-color);
      }

      .bl-preview table thead tr th:last-child {
          border: 0;
      }

      .bl-preview table tbody {
      }

      .bl-preview table tbody tr {
      }

      .bl-preview table tbody tr td {
          padding: 5px;
          border-right: 1px solid var(--bl-preview-table-border-color);
          border-bottom: 1px solid var(--bl-preview-table-border-color);
          word-wrap: break-word;
          width: auto;
      }

      .bl-preview table tbody tr td:last-child {
          border-right: 0
      }

      .bl-preview table tbody tr:last-child {
      }

      .bl-preview table tbody tr:last-child td {
          border-bottom: 0
      }

      .bl-preview .bl-table-container {
          border: 0
      }

      .bl-preview .bl-table-container thead {
          display: none
      }

      .bl-preview .bl-table-container tbody {
      }

      .bl-preview .bl-table-container tbody td {
          border: 0
      }

      .bl-preview blockquote {
          padding: 1px 10px;
          margin: 10px 0;
          color: var(--bl-preview-blockquote-color);
          border-left: 3px solid var(--bl-preview-blockquote-border-color);
          border-radius: var(--bl-preview-border-radius);
          background-color: var(--bl-preview-blockquote-bg-color)
      }

      .bl-preview blockquote blockquote {
          border: 1px solid var(--bl-preview-blockquote-border-color)
      }

      .bl-preview .bl-blockquote-green {
          background-color: var(--bl-preview-blockquote-bg-green);
          border-left: 3px solid var(--bl-preview-blockquote-border-green)
      }

      .bl-preview .bl-blockquote-yellow {
          background-color: var(--bl-preview-blockquote-bg-yellow);
          border-left: 3px solid var(--bl-preview-blockquote-border-yellow)
      }

      .bl-preview .bl-blockquote-red {
          background-color: var(--bl-preview-blockquote-bg-red);
          border-left: 3px solid var(--bl-preview-blockquote-border-red)
      }

      .bl-preview .bl-blockquote-blue {
          background-color: var(--bl-preview-blockquote-bg-blue);
          border-left: 3px solid var(--bl-preview-blockquote-border-blue)
      }

      .bl-preview .bl-blockquote-purple {
          background-color: var(--bl-preview-blockquote-bg-purple);
          border-left: 3px solid var(--bl-preview-blockquote-border-purple)
      }

      .bl-preview .bl-blockquote-black {
          background-color: var(--bl-preview-blockquote-bg-black);
          border-left: 3px solid var(--bl-preview-blockquote-border-black)
      }

      .bl-preview code {
          background-color: var(--bl-preview-code-bg-color);
          padding: 0 4px;
          border-radius: 3px;
          margin: 0 5px;
          font-family: 'Consolas', 'Menlo', serif !important;
      }

      .bl-preview pre {
          padding: 20px 10px 20px 30px;
          background-color: var(--bl-preview-pre-bg-color);
          overflow: scroll;
          border-radius: var(--bl-preview-border-radius);
          box-shadow: var(--bl-preview-pre-box-shadow);
          font-size: 13px;
          position: relative;
          font-family: 'Consolas', 'Menlo', serif !important;
      }

      .bl-preview pre .pre-copy {
          position: absolute;
          top: 20px;
          right: 10px;
          text-align: right;
          z-index: 10;
          color: #5c5c5c;
          padding: 1px 8px;
          border-radius: 4px;
          cursor: pointer;
          user-select: none;
      }

      .bl-preview pre .pre-copy:hover {
          background-color: #1a1a1a;
          color: #9d9d9d;
      }

      .bl-preview pre .pre-copy:active {
          color: #e2e2e2;
      }

      .bl-preview pre ol {
          margin: 0;
          padding-left: 0;
          position: absolute;
          top: 20px;
          left: 3px;
          user-select: none;
      }

      .bl-preview pre ol li {
          list-style: none;
      }

      .bl-preview pre ol li .line-num {
          width: 30px;
          display: inline-block;
          text-align: right;
          padding-right: 10px;
          color: #6a6a6a;
          user-select: none;
      }

      .bl-preview pre code {
          background-color: inherit;
          padding: 0;
          border-radius: 0;
          margin: 0;
          font-size: 13px
      }

      .bl-preview pre pre code.hljs {
          display: block;
          overflow-x: auto
      }

      .bl-preview pre code.hljs {
          text-shadow: none
      }

      .hljs {
          color: #a9b7c6;
          background: var(--bl-preview-pre-bg-color);
          font-family: inherit;
      }

      .hljs::selection,
      .hljs::selection {
          background-color: #323232;
          color: #a9b7c6
      }

      .hljs-comment {
          color: #606366
      }

      .hljs-tag {
          color: #a4a3a3
      }

      .hljs-operator,
      .hljs-punctuation,
      .hljs-subst {
          color: #a9b7c6
      }

      .hljs-operator {
          opacity: .7
      }

      .hljs-bullet,
      .hljs-deletion,
      .hljs-name,
      .hljs-selector-tag,
      .hljs-template-variable,
      .hljs-variable {
          color: #4eade5
      }

      .hljs-attr {
          color: #cc7832
      }

      .hljs-link,
      .hljs-literal,
      .hljs-number,
      .hljs-symbol,
      .hljs-variable.constant_ {
          color: #689757
      }

      .hljs-class.hljs-title,
      .hljs-title,
      .hljs-title.class_ {
          color: #e4b568
      }

      .hljs-strong {
          font-weight: 700;
          color: #bbb529
      }

      .hljs-addition,
      .hljs-code,
      .hljs-string,
      .hljs-title.class_.inherited__ {
          color: #6a8759
      }

      .hljs-built_in,
      .hljs-doctag,
      .hljs-keyword.hljs-atrule,
      .hljs-quote,
      .hljs-regexp {
          color: #629755
      }

      .hljs-attribute,
      .hljs-function.hljs-title,
      .hljs-section,
      .hljs-title.function_,
      .ruby.hljs-property {
          color: #9876aa
      }

      .diff.hljs-meta,
      .hljs-keyword,
      .hljs-template-tag,
      .hljs-type {
          color: #cc7832
      }

      .hljs-emphasis {
          color: #cc7832;
          font-style: italic
      }

      .hljs-meta,
      .hljs-meta .hljs-keyword,
      .hljs-meta .hljs-string {
          color: #b4b428
      }

      .hljs-meta .hljs-keyword,
      .hljs-meta-keyword {
          font-weight: 700
      }

      .bl-preview-analysis-fail-block {
          width: 100%;
          padding: 30px;
          background-color: #000000;
          color: #ffffff
      }

      .bl-preview-analysis-fail-block .fail-title {
          color: red
      }

      .bl-preview-analysis-fail-inline {
          display: inline-block;
          padding: 0 5px;
          background-color: #000000;
          color: #ffffff
      }
  </style>
  <script>
    window.onload = function () {
      let heads = document.getElementById('blossom-view').querySelectorAll('h1, h2, h3, h4, h5, h6');
      let tocContainer = document.getElementById('blossom-toc');
      for (let i = 0; i < heads.length; i++) {
        let head = heads[i];
        let tocHead = document.createElement(head.localName);
        tocHead.setAttribute('class', `toc-${head.localName}`);
        tocHead.innerText = head.innerText;
        tocHead.onclick = function () {
          let ele = document.getElementById(head.id);
          if (ele == null || ele == undefined) {
            return
          }
          // ele.parentNode.scrollTop = ele.offsetTop - 30
          ele.scrollIntoView()
        };
        tocContainer.appendChild(tocHead)
      }
    }

    function onHtmlEventDispatch(t, _ty, event, type, data) {
      // copy pre code
      if (type === 'copyPreCode') {
        let code = document.getElementById(data)
        if (code) {
          if (navigator.clipboard && window.isSecureContext) {
            return navigator.clipboard.writeText(code.innerText)
          } else {
            let textArea = document.createElement('textarea')
            textArea.value = code.innerText
            textArea.style.position = 'absolute'
            textArea.style.opacity = '0'
            textArea.style.left = '-999999px'
            textArea.style.top = '-999999px'
            document.body.appendChild(textArea)
            textArea.focus()
            textArea.select()
            return new Promise((res, rej) => {
              // 执行复制命令并移除文本框
              document.execCommand('copy') ? res() : rej()
              textArea.remove()
            })
          }
        }
      }
    }
  </script>


